Incremental Content Purchase And Management Systems And Methods

ABSTRACT

Systems and methods for incremental and conditional purchase and management of electronic books. In one embodiment, the incremental content purchase and management system allows downloading of electronic books to client devices with no upfront cost. Electronic books downloaded on a client device are divided into a plurality of segments based on the mode of consumption. User interaction with an electronic book is monitored to detect consumption, and to identify the segment being consumed. When a sufficient amount of electronic book segments is consumed, a charge corresponding the consumed electronic book segments is calculated using a charge model. The ownership of the consumed electronic book segments is then transferred to the user following the payment of the calculated charge.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims priority to and benefit from U.S. ProvisionalApplication No. 61/587,672, titled “Incremental Content Distribution”filed on Jan. 18, 2012, the content of which is herein expresslyincorporated by reference in its entirety.

BACKGROUND

Electronic books (“e-books”) are consumed using dedicated e-readers suchas Kindle, or general purpose portable or mobile devices such as theiPad, iPhone, Samsung Galaxy Tab, and the like. A consumer generallypurchases a desired e-book online using a dedicated e-reader (e.g.,Kindle, Nook), a general purpose e-reader (e.g., tablets such as SamsungGalaxy Tab, iPad, smart phones, etc.), or other computing devices. Thecost of the e-book is paid up front. If the consumer is not happy withthe purchase, some e-book distributors and/or publishers may allow theconsumer to request a refund. However, the request for refund mustusually be initiated by the consumer, and be made within a few days orhours after the purchase.

Some e-book distributors and/or publishers offer free samples to provideconsumers a glimpse of the e-book. However, the free samples only pushthe purchase decision to a later point of time. If a consumer desires toconsume beyond what is offered for free, the consumer must purchase thewhole e-book by paying the retail or sale price.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram illustrating an example environment in which theincremental content purchase and management (“ICPM”) system may beimplemented.

FIG. 2 is a block diagram illustrating components of the ICPM systemimplemented on a client device.

FIG. 3 is a block diagram illustrating components of the ICPM systemimplemented on a server.

FIG. 4 is a diagram illustrating customized segmentation of e-books intoa plurality of portions in one embodiment of the ICPM system.

FIG. 5 is a logic flow diagram illustrating an exemplary method e-bookintake management in one embodiment of the ICPM system.

FIG. 6 is a logic flow diagram illustrating an exemplary method ofdownloading of an e-book in one embodiment of the ICPM system.

FIG. 7 is a logic flow diagram illustrating an exemplary method ofmonitoring e- book consumption in one embodiment of the ICPM system.

FIG. 8 is a logic flow diagram illustrating an exemplary method ofcharging for e- book consumption in one embodiment of the ICPM system.

FIG. 9 is a logic flow diagram illustrating an exemplary method ofgifting an e-book in one embodiment of the ICPM system.

FIG. 10 is a logic flow diagram illustrating an exemplary method ofupdating charging parameters in one embodiment of the ICPM system.

FIG. 11 is a logic flow diagram illustrating an exemplary method ofgenerating recommendations in one embodiment of the ICPM system.

FIGS. 12A-B are exemplary user interface diagrams illustrating e-bookshelves in one embodiment of the ICPM system.

FIG. 13 is an exemplary user interface diagram illustrating e-book shelfmanagement in one embodiment of the ICPM system.

FIG. 14 is an exemplary user interface diagram illustrating useractivity time line in one embodiment of the ICPM system.

FIG. 15 is an exemplary user interface diagram illustrating accountmanagement in one embodiment of the ICPM system.

FIG. 16 is an exemplary user interface diagram illustrating a personalstore in one embodiment of the ICPM system.

FIG. 17 is an exemplary user interface diagram illustrating an e-bookviewer in one embodiment of the ICPM system.

FIG. 18 is an exemplary user interface diagram illustrating an analyticsdashboard in one embodiment of the ICPM system.

FIGS. 19-20 are exemplary analytics results that can be generated fromthe analytics dashboard of FIG. 18.

FIG. 21 is a diagram illustrating a representation of a machine in theexample form of a computer system.

DETAILED DESCRIPTION

The incremental content purchase and management (hereinafter “ICPM”)systems and methods described herein provide a new mode of paying forelectronic books based on e-book consumption. The term electronic bookor e-book as used throughout the application encompasses all forms ofdigital content including e-books, audio books, articles, magazines,audio files, video files, documents, web pages, mobile applicationcontent, other digital publications and the like.

Users of the ICPM system do not buy an e-book upfront. Instead, theusers download any desired e-books from an e-book store to their e-bookreaders or other client devices on which an ICPM client application isinstalled. In one embodiment, the downloaded e-books are available foraccess online or offline. In a further embodiment, the downloadede-books can be shared between users of the ICPM system. When a userstarts reading the e-book, the ICPM system monitors the reading activityand at certain points, creates charges to an account associated with theuser and/or the client device. In one embodiment, each charge that iscreated may correspond to the amount of the e-book content read, theamount of time spent the e-book, the specific portions of the e-bookcontent read, the geographical location of the reading, the date and/ortime of reading, the rate or speed of reading, and the like. The user isnot charged for any unread portions of the e-book.

The ICPM system breaks a full, organic, coherent content item such as ane-book into many small pieces, and charges a price for each piece as itis consumed by a user. The small pieces, on their own, have little or novalue or relevance, unlike a music album or an episodic televisionprogram. For example, a music album can be broken into individual songs,where each song is a coherent and full piece of work that has a value onits own. Similarly, an episodic television program can be divided intoepisodes, where each episode has a value and is designed to be consumedepisode by episode. A user must purchase a whole song or whole episode,regardless of whether or not the user listens to the song or watches theepisode. Similarly, a pay-per-view video consumer also pays for thevideo upfront, regardless of whether or not the user watches a part ofthe video or the full video.

A purchase via the ICPM system can be a conditional incrementalpurchase, with the purchase being spread over time, and divided into amultitude of small purchasing events. Via the incremental purchase,ownership grows gradually, and the growth of ownership, or the ‘purchaseevents’ are instigated by usage of the product, or other events. Theconsumption of the product, and its gradual ownership may or may not belinear, or reflect a pre-planned consumption mode. For example, in thecase of an e-book, the reader can start reading the book from the end,skip pages, go back to a previous page, etc. During the course ofconsuming an e-book via the ICPM system, the user goes from owning aportion of the e-book that he or she has read to owning the wholee-book, in the same way he or she would have owned the e-book had thee-book been bought upfront. The ownership of any e-book is thus anincrementally evolving ownership, with the exact level of ownership ofany e-book determined at a point in time.

Various implementations of the ICPM system and method will now bedescribed. The following description provides specific details for athorough understanding and an enabling description of theseimplementations. One skilled in the art will understand, however, thatthe invention may be practiced without many of these details.Additionally, some well-known structures or functions may not be shownor described in detail, so as to avoid unnecessarily obscuring therelevant description of the various implementations. The terminologyused in the description presented below is intended to be interpreted inits broadest reasonable manner, even though it is being used inconjunction with a detailed description of certain specificimplementations of the invention.

Example Environment And Architecture

The ICPM system may be implemented in a suitable computing environment100 shown in FIG. 1. Although not required, aspects and implementationsof the ICPM system will be described in the general context of computerexecutable instructions, such as routines executed by a general purposecomputer, a personal computer, a server, or other computing systems.

The ICPM system operates in environment 100 including users 140 andaffiliates 155, that can use a plurality of client devices 145 connectedto a communication network 165 to access the facilities and serviceshosted, supported and/or provided by remote servers such as the hostserver 125, the content server 110 and the personal download center 105.

Any of the client devices 145 such as, but not limited to, a computer(not shown), a laptop 145 a, a mobile phone 145 b, tablet 145 c, ane-book reader, and the like, can be used by a user 140 to access an ICPMclient application installed on the client device 145. Users 140 includee-book readers who are registered users of the ICPM system. Affiliateusers 155 can include ICPM users, external users or other entities.Affiliate users 155 provide e-book recommendations to ICPM users, createand/or promote e-book shelves or book voyages comprising a collection ofe-books having any desired theme, genre or subject matter on the ICPMsystem.

The client ICPM application installed on or accessed via the clientdevice 145 communicates with the ICPM system hosted on the host server125 over network 165. Network 165 may include wired and wirelessnetworks, private networks and public networks (e.g., the Internet).Client devices 145 may use their network interfaces to connect to and/orcommunicate with network 165, either directly, or via wireless routers,or cell towers 150. Network interfaces may employ connection protocolssuch as direct connect, Ethernet, wireless connection such as IEEE802.11a-n, and the like to connect to network 165. The host server 125is also connected to network 165 to provide ICPM services.

In one embodiment, host server 125 may be a web server, hosting awebsite that provides users 140 access to the facilities of the ICPMsystem. In a further embodiment, host server 125 may also host a webportal accessible to content providers 115. Host server 125 may accessand/or store all the information relevant to running the system from oneor more databases and/or database tables such as the data store 130.

Content providers 115 may include, for example, publishers (e.g.,agency, wholesale, direct publishers), authors, owners and/or generatorsof content such as e-book content which usually comprises text and/orimages, but may also comprise links, animation, audio, video, and/or thelike. Content providers 115, in one embodiment, may access thefacilities of the ICPM server 130 via a web-site or portal. Alternately,or in addition to the website or portal, content providers 115 may alsoaccess the facilities of the ICPM server 125 via a content providerclient application.

Content server 110 operating in environment 100 may be responsible forchecking, managing, storing and providing for download to users andothers digital content or publication such as e-books, audio books,magazines, audio files, video files, documents, and the like in variousformats. Content server 110 may connect to host server 125 and contentproviders 115 via network 160. Content server 110 may store e-book andother content received from content providers in one or more databasetables such as data store 170. Content providers 115 may upload contentin various formats to content server 110 in one implementation.Alternately, content providers 115 may upload content to host server125. In one embodiment, the content server and the host server may beone and the same.

A personal download center 105 operating in environment 100 is an onlinestore personalized for a specific user. Personal download center 105 maybe implemented on content server 110, host server 125 and/or a separateserver. The personal download center 105 may be implemented as aweb-based store or an application store accessible via the ICPM clientapplication. The personal download center 105 is not an ordinary storewhere an item (that is not free) must be purchased prior to thedownload. Users of the ICPM system can visit the personal downloadcenter 105 to download e-books and other content items to their clientdevices for incremental purchase triggered by consumption or usage. Inone embodiment, the personal download center 105 may be personalizedwith recommendations for e-books, curated shelves of e-books, and/or thelike.

Environment 100 may also include one or more external sites 135 such asthe Facebook, LinkedIn, Google+, Twitter, and/or the like to which useractivities can be fed. For example, users 140 can post messages, reporton on-application activities, share download/view links to e-books,e-book shelves, and/or the like on the external sites 135. The externalsite users who click on the posted links, and who do have the clientapplication installed on their client device, may be directed to adownload center (e.g., Apple app store or the Google Play) to downloadthe ICPM client application. Alternately, when the posted links areclicked on by users who have a client application installed on theirclient devices, the client application may be launched in order todisplay the content embedded in the link.

One or more financial institutions 120 may also operate in theenvironment 100. Financial institutions 120 may include banks and/orother institutions with which the users have financial accounts (e.g.,credit card account, debit card account, savings account, money marketaccount, prepaid card account, and/or the like). The host server 125 maycommunicate with the financial institutions 120 to bill users, add fundsto users' accounts in the ICPM system, deposit payments to authors,publishers, affiliates, and/or other parties operating in environment100.

The term “server” as used herein refers generally to a computer, device,program or combination thereof that processes and responds to requestsfrom remote clients across a network. The term “client” as used hereinrefers generally to a computer, device, program or combination thereofthat is capable of processing and making requests, obtaining andprocessing responses from servers via a network.

Example ICPM System On Client Device

Example components of the ICPM system 200 stored in memory 280 of aclient device 145 are illustrated in FIG. 2. One or more of theillustrated components may be consolidated into a single component insome implementations. The ICPM system 200 may include a contentconsumption monitoring manager 205, a content viewer 210, a downloadmanager 215, an accounting module 220, a sharing module 225, ananalytics module 230, a sync module 235, a content segmentation module240, an authentication module 245, a registration module 250, a shelfmanager 255, a user interface module 260, a communication module 265,and/or other device modules 270.

The content viewer 210 is responsible for rendering the e-book contentselected by a user for display on the client device 145. The contentviewer 210 may render text, image and the like on the screen of theclient device 145. The content viewer 210 may support various e-bookformats and layouts, fonts, font sizes, page margins, background andfont colors, page views (single page or multiple pages displayed at anygiven time on a screen) and/or the like. The content viewer 210 mayfurther support functions such as search, scroll, page turn, book marks,navigation to table of contents or selected page, and the like.

The content viewer 210 may include additional modules such as a contentportion identification module 212 and a content disabling module 214.The content portion identification module 212 identifies the portion ofan e-book displayed at any given time on the screen of the clientdevice. Unlike a book in print where the pages are predefined and fixed,an e-book has “electronic pages” which can comprise more or less textbased on the font, font size, margin, size and orientation of the screenof a client device, and/or the like. In one implementation, the contentportion identification module 212 identifies the e-book portion based oncharacteristics that are independent of the display settings, or devicetype and orientation. For example, in one implementation, the contentportion identification module 212 identifies an e-book portion based onthe first and the last word, the word count (e.g., 11.3% to 11.6% of theword count), image, formula, etc., displayed on the screen. In anotherimplementation, the first sentence, and the last sentence may be used asreference points to determine which e-book portion is being displayed,how much of the e-book content is being displayed, and the like.

The content disabling module 214 is responsible for disabling e-bookcontent from being displayed on the screen of the client device undercertain conditions. For example, when the balance on the user account isbelow a minimum amount, the accounting module 220 may request thecontent disabling module 214 to disable unpaid e-book portions so thatthe unpaid e-book portions are not available for user consumption.Alternately, the content disabling module 214 may also enable e-bookcontent portions upon receiving a request to enable e-book portions forconsumption from the accounting module 220. Various forms of disablingare supported by the content disabling module 214. For example, in oneimplementation, the e-book content portions that have not been paid formay appear faded in comparison to the paid for e-book content portions.In another implementation, a watermark may be added to the unpaid fore-book content portions to make the e-book content portion unviewable orillegible. Alternately, the content viewer may not render the unpaide-book content portions, and instead display a notification message.

The content consumption monitoring manager 205 is responsible formonitoring consumption of e-book content on a client device, andgenerating charge events where applicable. The content consumptionmonitoring manager 205 performs the content monitoring in coordinationwith one or more components of the ICPM system 200. For example, thecontent consumption monitoring manager 205 may identify a portion of thee-book content displayed on the screen of the client device based oninformation from the content portion identification module 212, forexample. The content consumption monitoring manager 205 may determinewhether an e-book portion has been paid for and/or whether there isadequate balance in the user account to pay for unpaid portions of thecontent based on information from the accounting module 220.

The content consumption monitoring manager 205 may include a contentconsumption detector module 202 and a monitoring configuration module204. The content consumption detector 202 may detect various events suchas a read event for a portion of an e-book content that is displayed onthe client device screen for a predefined length of time. The contentconsumption detector 202 may also detect other events that are not readevents such as page browse, and take no action. The content consumptionmonitoring manager 205 may also keep track of the e-book contentportions viewed, and based on information from other modules such as thecontent portion identification module 212, the content segmentationmodule 240, or the like, generate charge events for processing by theaccounting module 220.

The monitoring configuration module 204 may be used for configuringmonitoring parameters. An example monitoring parameter is a length oftime a portion of the e-book content is displayed. The contentconsumption detector module 202 may use the length of time parameter todetermine when a read event has occurred. The length of time parametermay be configured to be specific to e-books, users, time of day,geographic location, and/or the like.

Download manager 215 facilitates downloading of one or more e-booksand/or e-book shelves in a single or batch mode. The download manager215 may also coordinate and download meta data associated with e-books,information relating to promotions, price, associated rules, and thelike that may be used by other modules such as the content segmentationmodule 240, the accounting module 220, the content consumptionmonitoring manager 205, and the like.

Accounting Module 220 is responsible for implementing accountingfunction, including determining a charge for each read portion of ane-book, monitoring and updating account balances, charging accounts forread portions of an e-book, and the like. The accounting module 220 mayinclude a charge calculator 222, an account charging module 224, anaccount low balance detector module 226.

The charge calculator module 222 calculates an amount to be charged to auser account in response to charge events generated by the contentconsumption monitoring manager 205. The amount to be charged to the useraccount may depend on the charging model, which may be specific to thee-book, the user and the like. The charging model, for example,specifies an amount to be charged for a portion of the e-book. Forexample, an e-book costing $10.00 may be divided into 20 portions, andthe user may be charged 50 cents for each portion consumed. The chargecalculator module 222 may also apply any discount or promotionapplicable when calculating the amount to be charged.

The account charging module 224 is responsible for reporting thecalculated charge (e.g., from the charge calculator 222) to the hostserver 125 such that the associated user can be billed the chargedamount, or a credit card on file on the host server 125 can be chargedthe charge amount. The account charging module 224, in order to performthe reporting to the host server 125, may determine when the clientdevice is online (e.g., connected to the cellular or Wi-Fi network) andestablish a connection with the host server 125.

The account low balance detector module 226 is responsible for keepingtrack of the user account balance. In some embodiments, some e-books inthe client device may be associated with other user accounts. Forexample, when an e-book is received as a gift, the charges pertaining tothe e-book can be associated with a user account of the gift giver. Insuch cases, the account low balance detector module 226 can also keeptrack of the balance on the gift giver's user account. The account lowbalance detector module 226 may have a minimum or a threshold balanceamount associated with it. When the balance is equal to or closer to thethreshold balance amount, the account low balance detector module 226generates a disable event to the content disabling module 214 to disableany unpaid for portions of the e-book such that the unpaid portions ofthe e-book cannot be consumed by the user.

The sharing module 225 may include the necessary tools, plug-ins orinterfaces to allow sharing of e-books, comments, messages, posts,and/or the like with other users of the ICPM system and/or externalsites. Various application programming interfaces (APIs) may beimplemented to facilitate the interaction between the ICPM clientapplication and peers, and external sites. In one implementation, thesharing module 225 may also report each sharing activity to theanalytics module such that data relating to the sharing activities canbe collected and analyzed.

The analytics module 230 aggregates and processes data relating to auser's consumption of e-books. The analytics module 230, in oneembodiment, allows the user to configure preferences for aggregating,processing, distributing, and/or usage of consumption behavior data. Theanalytics module 230 may include a data collection module 232, a datascrubbing module 233 and a user preference module 234, among others.

The data collection module 232 may collect data relating to userinteraction with the ICPM application on the client device. In oneembodiment, the data collection module 232 may aggregate data such as,but not limited to: e-books downloaded, e-book opened, e-book started,content displayed, page forward, page backward, geographical location ofthe user, use of table of contents, use of search tools, pages skipped,go to specific portions of an e-book, bookmark creation, highlightcreation, adding remarks or comments, rating of e-books or portionsthereof, sharing and/or mode of sharing (email, Facebook, etc.),clicking of links present in e-books, watching/listening to video/audiolinked or embedded in e-books, use of interactive elements (e.g.,quizzes, questionnaires, animations, etc.) of the e-book, e-booksgifted, e-books recommended, and/or the like. In one embodiment, thedata scrubbing module 233 may be included in the analytics module 230.The data scrubbing module 233 may be responsible for removing user nameattribution from some of the data collected to obtain anonymized data.The anonymized data may be used to generate statistics relating toe-books, reading behavior, and/or the like.

In one embodiment, the user preference module 234 may be included in theanalytics module 230 to obtain user permissions and configurations forcollecting data relating to user interaction with the client applicationto personalize the user's experience with the client application,provide recommendations, provide analytics data to content provider, andthe like.

In one embodiment, the sync module 235 may be implemented in the ICPMsystem 200. The sync module 235 is responsible for synchronizing databetween the client application and the host server. The sync module 235may include an account data sync module 236, an analytics data syncmodule 237 and other data sync module 238. The account data sync module236 is responsible for reporting charge events to the host server. Whenthe client device is offline, the accounting module 220 responds tocharge events, and decrements calculated charge from the accountbalance. When the client device goes online, and a connection with thehost server is established to report the charge events, such that theuser account or the card on file can be charged the amount pertaining tothe charge events.

The analytics data sync module 237 is responsible for synchronizinganalytics data aggregated and/or processed by the analytics module 230.Whenever new data is available or when a connection to the host serveris established or otherwise available, the analytics data sync module237 may upload aggregated and/or processed data to the host server. Theanalytics data sync module 237 may also be responsible for downloadinganalytics data relating to e-books in the user's library, general oruser-specific statistics, and the like from the host server to theclient device. The other data sync module 238 may be responsible forsynchronizing other data between the client device and the host server.Examples of other data that may be synchronized include, for example,data relating to e-books present on the client device. For example,highlight or bookmark data from other users of the ICPM system may bedownloaded to the ICPM application on the client device, or uploaded tothe host server from the client device.

The content segmentation module 240 is responsible for dividing ane-book into multiple segments, each of which can be associated with aread event and/or a charge amount. An e-book segment may be defined as aportion of the e-book content displayed on a display area of the clientdevice. Since the portion of the e-book content that can be displayed ona display area of the client device can depend on the size of the clientdevice, the orientation of the client device, and user preferences(e.g., font type and size, margin, etc.), segmentation of an e-book isnot predefined, and can be changed on the fly. For example, an e-book ona landscape view may be segmented into 2612 electronic pages, and thesame e-book on a portrait view may be segmented into 1392 electronicpages. The number of segments or electronic pages into which an e-bookis divided at any given time may be used by the content consumptionmonitoring manager 205 and the account module 220 to monitor anddetermine charge corresponding to each segment.

The authentication module 245 is responsible for authenticating the userfor a reading session or a communication session with the personaldownload center 105, the content server 110 and/or the host server 125.Two or more factor-based authentication methods may be used, forexample, to authenticate the user and/or the client.

The registration module 250 may allow one time registration of a user.Via registration, the user's identification information such as name,address, phone number, email address, and the like is obtained. The useris asked to create a user ID and password for authenticating futuresessions. During registration, the user's payment details such as bankaccount number, payment card number, etc., and billing addressinformation can also be obtained. In some implementations, theregistration module 250 may also obtain user preferences regardingfavorites, sharing, data collection, and the like. At least some of theinformation obtained by the user during registration is used to create auser profile.

The shelf manager 255 is responsible for managing the e-book shelves.E-book shelves allow users to organize, manage, classify and share theirdigital libraries. The shelf manager 255 keeps track of the e-books invarious shelves, suggests e-books to add or remove from shelves, adds orremoves e-books from the shelves (e.g., e.g., add new e-books to the“new e-book shelf” or remove read e-books from “to read shelf” to“finished shelf,” etc.), and the like. The shelf manager 255 may alsofacilitate sharing of one or more shelves including all the e-bookstherein with other users, collaborate on curating of an e-book shelf,and/or the like. The collaboration feature may allow a select group ofusers (e.g., users invited by the creator) to view, download andsynchronize when the contents of a shelf is changed, suggest e-books foraddition or removal, and/or the like. The shelves created by each usermay be reported to the host server for storage in a remote databasetable (e.g., database table 378). The shelf manager 255 may report orprovide for reporting information such as a the user ID of the creator,identifiers of the e-books in the shelf, lock or unlock status, date andtime of creation, privacy option (e.g., private or public), metadata ortags for the shelf, and the like.

The import, export and share features of the shelf manager may beapplicable only to the users of the client application, where an upfrontpurchase of any of the e-books on the shelf is not needed. A user of theclient application can select and download a shelf (and the e-bookstherein) to his or her personal library, and pay for the books as he orshe reads them.

In one embodiment, the ICPM system 200 may include a check in module(not shown) that uses location data and current reading activity ofusers to identify the e-books that are being consumed at any given nearthe geographical location of a user. For example, if a user is in theCentral Park, the user can invoke the check in module to get a list ofe-books currently being read by other users in the Central Park or areaaround the Central Park. In one implementation, the actual names andgeographical locations of users are not disclosed to maintain theirprivacy. In some implementations, the check-in module may include anoption where a user can check in to share the location and e-bookinformation. In a further implementation, a user can do a private checkin where group of readers selected by a user can see the user'slocation, e-book, and name, for example.

In addition to the components described above, the client device mayalso include a user interface module 260 that is responsible forrendering the user interfaces associated with the client application andother native user interfaces. The client device may also include acommunication module 265 to facilitate communication between the variouscomponents of the ICPM system 200, and other components and externalentities such as the host server, the personal download center, and/orthe content server. Various other mobile device modules 270 may beincluded in the client device.

In one implementation, the client application may store data to andaccess data from a storage area 275 in the memory. The storage area maystore, for example, content files (e-book files) downloaded to theclient device, metadata, analytics for display, and the like.

Example ICPM System Components On The Server(s)

Example components of the ICPM system 300 are illustrated in FIG. 3. Inone embodiment, memory 315 of the host server 125 may store all or someof the components of the ICPM system 300. In another embodiment, some ofthe components such as the content intake manager 305 may be implementedon the content server 110.

The content intake manager 305 may include a content upload module 306that allows content providers to upload e-books in a variety of formatssuch as doc, pdf, epub, azw, mobi, scanned images, and/or the like.E-book content files uploaded in various formats may be converted to oneor more standard or preferred formats by a content processing module310. The content upload module 306 may also include facilities forcontent providers to upload metadata files in various formats (e.g., XMLfile, xls file, etc.). The content evaluation module 308 may evaluatethe uploaded e-books based on one or more criteria such as, but notlimited to: difficulty level, content type, content size, similaritywith other e-books available in the content server (e.g., based onmetadata), and the like. Results from the evaluation may be provided toa content pricing module 312 to facilitate selection or creation of asuitable charging model for the uploaded e-book content.

In one embodiment, the content pricing module 312 selects, modifies orgenerates a charging model for one or more e-books and associates thecharging model with the e-books. A charging model may define a set ofparameters based on which a user is charged an amount for consuming aportion of an e-book. For example, a charging model can determine acharge amount corresponding to usage of x % of an e-book. Based on theinput parameters selected and/or defined, a charging model can generatea charge structure that is responsive to an event or a combination ofevents.

In one implementation, a charging model may be generated or selected andassociated with an e-book at the time of the upload. In someimplementations, the charging model associated with an e-book may bemodified at a later time, or when desired. In one implementation, thecontent provider may configure and/or select a suitable charging modelfor association with an e-book or a group of e-books. In a furtherimplementation, a charging model may be preconfigured and automaticallyapplied to all e-books or e-books matching certain conditions. Forexample, a publisher ABC may pre-configure two charging models—chargingmodel A and charging model B, and specify that charging model A beapplied to all self-help e-books, and charging model B be applied to allfiction e-books.

The content pricing module 312 may receive a set of input parameters togenerate a charging model that determines the actual charge to a user.These input parameters may include, but are not limited to: size ofcontent segment (e.g. # of pages), type of content segment (e.g. text,pictures, audio, video), size and type of an e-book, location of contentwithin an e-book, time, price, previously purchased e-books, e-bookslikely to be purchased, geographical location of the user, and/or thelike. The content pricing module 312 may, in one implementation, alsoreceive inputs relating to promotions or offers to be applied to acharging model. Example promotions or offers may include, but are notlimited to: first n number of pages free, any n pages free, first npages free on a particular date, time, geographical location, etc., freen pages tomorrow if the user reads m pages today, and/or the like. Insome implementations, the content pricing module 312 may generatecharging models that are configured to: charge an upfront amount, andthen charge based on usage, provide a discount for frantic reading, freen minutes on the next e-book by same author, free reading till the endof the month if a user has paid at least $x since the beginning of themonth, charge a penalty if consumption level is below a threshold perperiod of time (e.g., 1000 pages this month), discount if the userconsumes an e-book in its entirety in less than n hours, fixed charge of$x for reading a certain portion of an e-book (e.g., last 20 pages),free reading in the premises of a specific restaurant or while doing aspecific activity (e.g., riding a subway), offer differential pricingfor different portions of an e-book (e.g. 25% off for pages 20-40),and/or the like.

In one implementation, the charging model may include a locationsensitive payment component, which applies a charge accrued by a user ina specific location (e.g., a coffee shop) to an account of the coffeeshop, and any charge accrued by the user when he or she is outside of oraway from the location (e.g., as detected by disconnection from thecoffee shop Wi-Fi or based on the client device location) is applied tohis or her own account.

The content intake manager components may access data from and storedata to one or more database tables such as the content files databasetable 360, the metadata files database table 362, content pricing modelparameters database table 376, and the like. The content files databasetable may include data fields such as, but not limited to: a file ID, afile name, a file size, file formats, date created or added, a providerID, a charge model ID, ISBN number, and the like. Metadata filesdatabase table 362 may include data fields such as, but not limited to:a file ID, a genre, an author, a publisher ID, last update date, othermetadata fields, and the like. Content pricing model parameters databasetable 376 may include data fields such as, but not limited to: file ID,promotion, content portion, price for content portion, and the like.

In one embodiment, the host server may also include a provisioningmodule 314. The provisioning module 314 may manage applications forvarious platforms, perform application version control, identify andprovide applications requested for download to client devices, initiateregistration and creation of accounts including user accounts, contentprovider accounts, and/or the like. The application provisioning module316 may have access to one or more databases and/or database tables(e.g., application database table 380) to determine an applicationversion supported by the client device and provide the application fordownload to client device. The account provisioning module 318 maycreate user accounts, provide appropriate access to the user accounts,provide necessary resources for managing the user accounts, requestingand verifying payment information for funding the user accounts,creating user profiles, and so on.

The provisioning module 314 may access provisioning data from and storeprovisioning data to one or more database tables such as the applicationtable 380. The application table 380 may include data fields such as,but not limited to: application ID, provisioning date, application type,client device ID, user ID, and the like.

In one embodiment, the host server 125 may include a recommendationengine 320. The recommendation engine 320 may generate e-bookrecommendations for the user based on the user's reading and non-readingactivity history, and any other data aggregated and/or processed by theICPM system. The recommendation engine may identify reading-patterns ofusers to generate recommendations. The recommendation engine mayidentify reading patterns of users based on e-books downloaded,purchased or browsed. In some implementations, the recommendation enginemay also consider e-books that have been favorited, gifted, shared,commented, bookmarked, and the like by the user. The recommendationengine 320 may also support, and personalize the personal downloadcenter 105. When a user accesses the download center 105 from his or herclient application or via a browser, the user is provided a personalizedstore that includes e-books that the user is likely to consume. In oneimplementation, the personal download center may also include a defaultview that is not customized for the user, but is an organized andsearchable catalogue of e-books available for download by the user. Therecommendation engine 320 is discussed in detail with respect to FIG.11.

The recommendation engine 320 may access data for generatingrecommendation from and store recommendation data to one or moredatabase tables such as the analytics table 370, user account table 364,the recommendation table 382, and the like. The recommendation table 382may include data fields such as, but not limited to: user ID,recommendation criteria, recommendation criteria weight, recommendede-books, e-book recommendation scores, and the like.

The host server 125, in one embodiment, may include an analytics engine325 that aggregates data relating to user interaction with e-bookcontent, analyzes the aggregated data to generate various statistics,reports, usage and/or behavioral patterns, and the like, and presents atleast some of the results to the users and content providers. Theanalytics engine 325 may feed some of the aggregated and/or processeddata and/or results to other modules such as the recommendation engine320.

The analytics engine 325 may comprise a data aggregation module 326, acontent consumption pattern detector module 328 and an analytics datapresentation/reporting module 330. The data aggregation module 326 maydetermine and/or define the type of data to be aggregated from users.The data that may be aggregated by the data aggregation module 326 mayinclude all or some of the data collected by the data collection module232.

In one embodiment, the content consumption pattern detector module 328analyzes the data aggregated by the data aggregation module 326 todetect content consumption patterns. The consumption patterns may beassociated with a user or a group of users. In one implementation, thecontent consumption pattern detector module 328 may select dataassociated with a specific user, and analyze the selected data usingvarious filters to establish the user's consumption pattern. Forexample, by analyzing data relating to e-book purchases over a twelvemonth period, the content consumption pattern detector module 328 maydetect a spike in consumption behavior during June and July. Byspecifically looking at June and July consumption data, furthercorrespondence between specific type of e-books and reader demographicsmay be established. These insights relating to the user's consumptionpattern may be used to offer promotions or offers, or generate improvedrecommendations, and so on.

In another implementation, the content consumption pattern detectormodule 328 can not only detect completion or abandonment of an e-book,but also when a user is likely to abandon the e-book. The contentconsumption pattern detector module 328 can detect or anticipate suchevents and proactively activate or suggest promotional activities oroffers to encourage completion of the e-book.

In another implementation, the content consumption pattern detectormodule 328 can keep track of the bread crumb trail of readers as theyengage in reading activities on the ICPM system. The bread crumb trailcan show the reading history of a reader and identify a book or eventsthat led to another book or event, and so on. The pattern detectormodule 328 can identify and define various communities of readers, howthe communities relate to each other, and how the communities changeover time. Such patterns and insights may be valuable for promotingbooks and reading in general.

By way of another example, the content consumption pattern detectormodule 328, may analyze consumption data to determine the average amountof time a user takes to read an electronic page, average number ofelectronic pages the user reads in a single session, time lapse betweenreading sessions on weekdays, weekends, day, night, and/or the like. Inone implementation, the pattern detected may then be used to adjustparameters such as the qualify-as-read parameter, the triggering ofcharge events, and/or the like.

The content consumption pattern detector module 328 may also analyzedata aggregated from all users or a group of users selected based on oneor more criteria. Example criteria can include, but are not limited to:geographic location, age group, gender, time of reading, profession, andthe like to generate consumption statistics, parameters, trends and/orother indicators. The generated statistics, parameters or otherindicators may be useful to the users, content providers (e.g.,publishers, marketers), and/or the like. Example indicators that can begenerated by the content consumption pattern detector module 328include, but are not limited to: fastest read e-books (i.e., pageturners or e-books with the shortest average time lapse between startand finish), most completed e-books (i.e., e-books with the best ratioof number of people who completed the e-book divided by the number ofpeople who started the e-book), most active e-books (e-books thatgenerated the highest number of activities such as sharing, quoting,sending, rating, and the like), most engaging e-books men/women read atnight, most popular books in Palo Alto last week, location where acertain book is read, books being read in a user's location (e.g.,reading by zip code), and/or the like.

Additional examples of indicators generated by the ICPM system include,but are not limited to: a completion indicator representing the ratio ofusers who downloaded an e-book to those who completed the e-book, anabandonment indicator representing the ration of users who downloaded ane-book to those who abandoned the e-book at some point along the way, anoverall activity indicator that is a weighted score calculated based onnon-reading activity (e.g., sharing, commenting, quoting, and the like),geographical growth and distribution map showing the physical locationof readers, identifying clusters and how the clusters are growing,shrinking, shifting, and the like.

The analytics data presentation/reporting module 330, in one embodiment,may include user interfaces for content providers to configure filtersfor obtaining a subset of analytics data, instructing the contentconsumption pattern detector 328 to analyze the selected subset ofanalytics data, and present the results of the analysis in variousgraphical, textual and/or other reporting formats. For example, acontent provider participating in the ICPM system may select a specifictime period, and a specific e-book from a user interface or dashboard(e.g., dashboard illustrated in FIG. 18). The analytics datapresentation/reporting module 330 may then provide the time and e-booktitle filters to the content consumption pattern detector module 328 foranalyzing data according to the selected filters. The results of theanalysis may be provided to the analytics data presentation/reportingmodule 330 for presentation as a chart, table, a spreadsheet, and/or thelike.

The analytics engine may store data to and access data from one or moredatabase tables such as the Analytics table 370, the content files table360, the metadata files table 362, and the like. The analytics table 370may include data fields such as, but not limited to: a file ID, numberof downloads, date/time, number of reads, geographical location, and thelike. Other analytics data examples described in detail with respect tothe analytics engine 325 may also be stored in the analytics table 370.

In some implementations, the analytics engine 325 may also include ashelf analytics module (not shown) that monitors activities relating toshelves, such as the number of downloads, shares, links, views, and thelike. Based on the shelf activity data, most popular or most influentialshelves can be identified. The creators of the top x number of mostinfluential shelves may be compensated by the ICPM system.

In one embodiment, a user accounting module 332 may be included in thehost server 125. The user accounting module 332 may be responsible formanaging user accounts, account balances, charging appropriate amountswhen triggered, and the like. The account balance module 334, in oneimplementation, manages the account balance of the user account. Forexample, if the balance on a user account is running low (e.g., below athreshold), the account balance module 334 may generate a notificationreminding the user to top up the user account. If the user has set up anautomatic refill, the account balance module 334 may instead request theaccount charging module 336 to refill the user account with predefinedamount of funds by sending a charge request to a bank or issuer of thepayment card account on file for the user. In one implementation, whenthe user account is set up for direct billing to a payment card or bankaccount, the account charging module 336 may send charge requests to thefinancial institution associated with the payment card or bank accountto obtain funds corresponding to the charge requests.

In one implementation, the user accounting module 332 may also include acharge calculator 338 that determines a charge for each charge eventreported by the client device using a charge model associated with theuser and/or the e-book. The charge amount determined by the chargecalculator 338 may be provided to the account balance module 334 togenerate a current account balance (e.g., by reducing the accountbalance by the charge amount) and the account charging module 336 toinitiate charge requests in case of direct billing.

The user accounting module 332 may retrieve and/or store user accountinginformation in one or more database tables such as the user accountdatabase table 364. The user account database table 364 may include datafields such as, but not limited to: a user ID, email address, registereddevice ID, phone number, billing address, payment account identifier,auto-refill option, password, current account balance, payment due date,account status (e.g., on hold, active, inactive) and the like.

In one embodiment, an affiliate promotion module 340 may be included inthe ICPM system 300. The affiliate promotion module 340 allows users andcontent providers to create, export and promote e-books via the shelfsystem, the book voyage, and/or the like. The affiliate promotion module340 can track the user activities that brought about reading andincremental purchase, and can compensate the users who created and/orpromoted the e-book shelf, the book voyage, and the like. In oneimplementation, the compensation may include financial compensation(e.g., an amount), purchase discount, free reading, rewards in the formof badges, titles, and the like.

The affiliate promotion module 340 may store data into and access datafrom one or more database tables such as the affiliate account databasetable 372. The affiliate account database table 372 may include datafields such as, but not limited to: affiliate account ID, shelf ID, bookvoyage ID, e-book ID, promotion type, activity points accrued frompromotions, and the like.

In one embodiment, the ICPM system 300 may include an external site linkmanager 342 to link, manage, and otherwise support the ICPM system toexternal sites 135. The external site link manager 342 may manage theAPIs associated with external sites, make and/or facilitate API calls toexternal sites to pull or push data, and the like.

In another embodiment, the ICPM system 300 may include a sync module 344that synchronizes data including accounting, e-book, analytics and otherdata between the host server, and/or the content server, and the clientdevices. The sync module 344 start a sync session with one or moreclient devices when there is a change or new accounting, e-book,analytics, and other relevant data available. In a furtherimplementation, the sync module 344 may start a sync session based on aschedule. For example, the sync module 344 may start a sync session ifthe last sync session was more than two weeks ago. The sync module 344may also coordinate syncing when the sync is initiated from the clientside.

In one embodiment, ICPM system 300 may include an authentication module346 for authenticating users and content providers for accessing thefacilities of the host server, including access to user and contentprovider accounts, personalized download center, client application, andthe like. The authentication may be based on two or more factors ofauthentication, for example. The authentication module 346 may accessdata from the user account database table 364 and the content provideraccount database table 368 to perform authenticate users and contentproviders respectively.

Some embodiments of the host server may also include a content provideraccounting module 348 to manage content provider accounts, trackincremental purchase of e- books and associate each incremental purchasewith one or more content provider accounts, determine royalties based onan agreed upon royalty model and distribute payments in the form ofroyalties to parties such as authors (e.g., direct publishing),publishers, and the like. The royalty calculator module 350, in oneimplementation, may calculate royalties owed to authors (e.g., directpublishing) based on a royalty model which may take into account theretail or sale price of each e-book or e-book segments that areassociated with a charge, geographic location of the incrementalpurchase or the user account, a royalty rate associated with thegeographical location (e.g., royalty rate of 60% of net in the UnitedStates), and the like. The royalty calculator module 350, in anotherimplementation, may calculate the net payment amount owed to contentproviders who are agency or wholesale publishers, for example. The netpayment amount may be determined based on a fee charged by the ICPMsystem for marketing, distribution and/or selling e-books and the actualretail or sale price of e-books or e-book segments. The royaltydistribution module 352, in one implementation, may generate statementson marketing and/or sale of e-books/e-book segments and distributepayments owed to various parties on a periodic basis. The royaltydistribution module 352 may, for example, make direct deposits to bankor payment accounts of the parties involved.

The content provider accounting module 348 may access data from andstore data to one or more database tables such as the content provideraccount database table 368, the royalty model parameters database table374. The content provider account database table 368 may include datafields such as, but not limited to: a provider ID, a provider name, aprovider type (e.g., direct publisher, agency publisher, wholesalepublisher, etc.), an email address, physical address, royalty model ID,password, and the like. The royalty model parameters database table 374may include data fields such as, but not limited to: royalty ID, royaltypercentage, royalty period, current payment due, payment due date,geographical location, and the like.

In one implementation, the ICPM system 300 may have include a shelfdatabase table 378 for storing and accessing data relating to shelves.The shelf table 378 may include data fields such as, but not limited to:shelf ID, creator ID, e-book ID, status (lock or unlock), date and timeof creation, privacy status (e.g., private or public), metadata or tags,and the like.

Other ICPM System Components

Some embodiments of the ICPM system (on the client device, the hostserver, the content server and/or the personal download center) mayinclude components in addition to the ones described above. For example,one embodiment of the ICPM system includes an advertising module totarget select users and/or e-books for in e-book advertisements. Basedon the aggregated data relating to the reading behavior and activitiesof users, and in some cases, reading location of users, the e-book beingread, the advertising module can identify relevant advertising messagesand deliver such messages to users. The advertising module may also beable to aggregate data relating to exposure of readers to advertisementsto generate various metrics that can be used to gauge the effectivenessof advertising messages.

One embodiment of the ICPM system may include a campaign module thatallows content providers such as writers and publishers, individualreaders or a group of readers to link their reading activity tocampaigns. For example, every time a user reads an e-book or a part ofan e-book, a certain portion of the revenue may be channeled to acharitable cause. The campaign module may include facilities for usersand content providers to easily configure, manage and promote campaigns(e.g., read for cancer research campaign) and manage finances.

One embodiment of the ICPM system may include a group reading modulethat allows simultaneous reading of one or more portions of an e-book. Aclient device designated as a master is linked to multiple clientdevices to create a group reading session. The page turns, highlights,and the like, may be synchronized between the master and the clientdevices linked to the master, such that all readers are exposed the sameportion of the e-book as the master.

One embodiment of the ICPM system may include an e-book queue managerthat queues up e-books. Once a reader completes reading an e-book, thenext e-book on the queue is automatically displayed, without the userhaving to go back to the library view or the personal download center tolook for the next book to read. In one implementation, the queue may beconfigured by the user, or may be built automatically based on systemgenerated recommendations, or a combination thereof.

One embodiment of the ICPM system may include a quote collection modulethat collects all the highlights, quotes, selected portions, and thelike from e-books read by the user. The module, automatically or basedon user input, generates an e-book including all or selected quotesstored by the quote collection module. The generated e-book may beupdated whenever new data is available. In some implementations, theuser can also apply various formatting and layout options or usetemplates to format the e-book as desired. The generated e-book can beshared, emailed, uploaded to the content server for distribution toother users, sent to a printer for printing, and the like. The user canalso monetize the generated e-book if desired.

One embodiment of the ICPM system may include a mapping module thatidentifies, on a map, the location where a user read one or more e-books(or portions of e-books) with an indicator. For example, the map 1525 onthe user interface 1500 of FIG. 15 may be generated using data (e.g.,location and e-book) by the mapping module.

One embodiment of the ICPM system may include a funding module thatrequests and/or accepts financial contribution from a user for arecipient, obtains the contribution amount from the user's account orbank or payment card account, and provides all or a portion of thecontribution amount to the recipient. A recipient may include an author,for example. The financial contribution may be tracked, and may be usedto offset the cost of reading the author's next book.

In one embodiment of the ICPM system, in addition to the user account,which is an individual account, there may be an option to open a familyaccount. A family account module may then facilitate creation of afamily account including two or more users (e.g., members of a family).In one implementation, funds in the family account may be appliedtowards charges initiating from multiple user accounts and/or clientdevices. In one implementation, e-book portions incrementally purchasedby a family account member may have special ownership rights. Forexample, if one member of the family account completes an e-book portionor a whole e-book, one or more remaining members of the family accountmay be able to read the e-book portion or the whole e-book at a reducedprice or at no price at all. For example, if one family account memberreads a chapter at the cost of a dollar, a second member can read thesame chapter at 80 cents, and then the third member can read the samechapter at 60, and finally the last member can read the same chapter at0 cents. In another implementation, members of a family account candownload e-books together and share the charge arising from the readingof the e-book by any of the members. Those users with a family accountmay, in some implementations, link their libraries, such that an e-bookdownloaded to one user's library is automatically downloaded to theclient devices of all other users associated with the family account. Inone implementation, the incremental charge may be reduced as moremembers of a family read the same portions of an e-book.

One embodiment of the ICPM system can handle audio books and text tospeech conversions. In one implementation, the content consumptiondetector module 202 may detect play, pause, stop, forward, rewind, andthe like events and determine the length of time an audio book or a textto speech conversion was played. For example, if an audio book has atotal listening time of three hours and the user listens to the audiobook for one hour, the user can be charged one-third of the retail/saleprice of the audio book. Any of the previously described usage-basedconsumption and charging models and mechanisms may be applied todetermine the correct charge for audio and text-to-speech media content.

One embodiment of the ICPM system can include a conditional consumptionmodule that includes or defines and associates with one or more e-booksand/or users one or more conditions for consumption or purchase. Forexample, one condition can specify that an e-book be consumable orpurchasable only when the reader is at a certain location, performing acertain activity (e.g., riding a subway), and the like. In a furtherimplementation, one condition may specify that when the user activitymatches a specified activity, the purchase price for the associatedsegments or the reading session be discounted. Variations of these andother embodiments and implementations are within the scope of theapplication.

One embodiment of the ICPM system can include an e-book voyage modulethat allows users or other entities to create one or more e-bookvoyages. An e-book voyage may include a list of portions of one or moree-books which together form a certain experience, shed light on acertain subject, be on a certain theme, and the like. The e-book voyagemodule may allow users to select, for example, a paragraph, a scene, adescription, a chapter, a story, a picture, a graph, and the like,include commentary or explanation, and the like. In one implementation,the e-book voyage module may place the user selections into a singleshelf, which can be downloaded and/or shared as desired by the user. Thecommentary added by a creator of the voyage can be included as anotherbook on the shelf, with active links to each portion of the voyage. Whenthe link is selected, the relevant book may open directly at the portionrecommended in the specific voyage.

One embodiment of the ICPM system can include a content acquisitionmodule that can acquire content for inclusion and/or distribution in theICPM system. In one implementation, the content acquisition module mayidentify, based on user activities (e.g., search for an e-book by a useror users, conversation in social media, user request, and the like), oneor more e-books for addition to the ICPM system catalog. In someinstances, it may be possible to enter into agreement with contentproviders associated with the identified e-books. In such instances, aroyalty model may be selected or generated, and associated with thee-books. However, in other instances, such agreements may not befeasible or successful. In one implementation, the content acquisitionmodule can determine whether or not to acquire an e-book for addition tothe catalog based on the likelihood of a specific user or other usersconsuming an e-book. The likelihood or probability that an e-book willbe consumed may be determined using information on the e-book,consumption history of a specific user, user interests, and/or otherusers. If the likelihood is high (e.g., equal to or higher than athreshold), the potential risk to the ICPM from the upfront purchase islow. The content acquisition module may then recommend the e-book forpurchase by the ICPM system and/or purchase the e-book. The ICPM systemmay then make the e-book available for consumption/distribution on thepersonal download center. Thus, the ICPM system may pay the contentprovider the wholesale price of the e-book upfront and recover the paidprice from payments from the e-book reader for the incremental purchaseof the e-book. If the e-book reader does not read the e-book is part orwholly, the ICPM system incurs a loss.

Example Processing

The ICPM system allows personalized segmentation of e-books, thatclosely follows the mode of consumption. As each segment of an e-book isconsumed by the user, the ICPM system keeps track of the consumedsegments. As the consumed segments add up to equal a predefined portionsize, the ICPM system creates a charge, i.e., triggers a charge event.The diagram shown in FIG. 4 illustrates various ways in which e-booksegments are monitored for creating charges.

In one embodiment, for example, user 1 may have an e-book 415 on his orher client device 405. The e-book 415 may be 1000 standard pages long(e.g., known font, size, margin, screen size) divided into portions 1(10%-100 standard pages), portion 2 (70% -700 standard pages) andportion 3 (20%-200 standard pages). When the user launches the e-book onhis or her client device and chooses certain formatting options, thee-book may be reformatted to, for example, 1500 segments, where eachsegment is the equivalent of an electronic page that can be displayed onthe client device. For example, referring to FIG. 17, two segments ortwo electronic pages are displayed by the content viewer using the booklayout. The ratio of a standard page to a segment can be determined tobe 1:1.5. When user 1 starts reading the e-book, he or she is charged10% of the retail price of the whole e-book, allowing user 1 to read upto 150 segments in any sequence. Should user 1 change the formattingoptions after reading, for example, 70 e-book segments, the ratio of astandard page to a segment is calculated again. Based on the new ratio(1:2), user 1 would be allowed to read an additional 106 e-book segmentsbefore being charged for portion 2, and so on.

In another embodiment, an e-book 420 may be divided into multipleportions (e.g., portions 1-5) based on chapters. In one implementation,user 1 may open, for example, chapter 33 for reading on a client device410. When user 1 starts reading chapter 33, a charge event may becreated for e-book portion 4. User 1 may then be allowed to readchapters 31-40.

In yet another embodiment, an e-book 425 may be divided into multipleportions (1 to N). The charge may be created when user 2 has read anumber of e-book segments that equal each e-book portion. For example,if each book portion is 10 pages, the e-book segments read by user 2 isadded until the e-book portion read is equivalent to 10 pages (or 10% ifthere are 100 pages in total), at which time user 2 is charged an amountcorresponding to 10% of the e-book retail or sale price. User 2 maycontinue reading the e-book, and may even read certain segments morethan once. However, only the previously unread segments are counted tocreate the charge, such that user 2 is free to re-read any previouslyread segments without incurring further charge.

In an alternate embodiment, word count and percentage may be used tocharge for the exposed segments. For example, an e-book may have 10,000words, and a user may be exposed to an e-book portion 12% to 14% (i.e.,e-book portion starts from the 1200th word and ends at the 1400th word).Various alternative ways of dividing an e-books are contemplated. Forexample, e-books may be divided by characters, words (e.g., create acharge when a user has read 10% of the total word count), sentences,paragraphs, parts, and the like.

Content providers can upload e-books to the host server or the contentserver for distribution via various channels including the personaldownload center, online store, and the like. When e-books are uploaded,the content providers may specify the retail price of an e-book, andother information such as metadata, promotions or offers, otherparameters, and the like. FIG. 5 is a logic flow diagram illustrating anexemplary method of managing e-book intake in one embodiment of the ICPMsystem.

The e-book intake may start at block 505. The content server (or thehost server) may receive the e-book file, metadata file, pricing and/ordistribution information provided by the content provider at block 510.Various formats of the e-book and metadata files may be accepted. Atblock 515, the content of the e-book may be analyzed. For example, thee-book may be analyzed to determine the total number of pages, chapters,sentences, paragraphs, words, etc., the presence of text, images, audio,video, links, animation, etc., difficulty level, retail or sale price,locations or activities mentioned in the e-book, and the like. At block520, one or more conversion criteria that are taken into account forconverting an e-book segment into a charge amount may be identified.Additional conversion criteria such as the user's purchase history,geographical location of the user, and the like may also be identified.In one implementation, the identified conversion criteria may beprovided to the content provider for selection at block 530. Theselections may be received from the content provider at block 535.Alternately, a default set of conversion criteria may be identified andselected at block 520. At block 525, the selected conversion criteriamay be used to generate a charging model for the e-book.

In yet another implementation, based on the analysis of the e-book, acharging model may be identified at block 555. The charging model may bestored in a database table, for example. At block 560, if the contentprovider desires to modify the charging model, the modificationparameters may be requested from the content provider, which is receivedat block 565. At block 570, the charging model may be modified using thereceived modification parameters. At block 575, the charging model maybe saved or stored in a database table as a new or a modified model.

An example charging model generated using the method 500 may take intoaccount conversion criteria including: the number of pages of the e-book(e.g., 1050 pages), number of illustrated pages (e.g., 100 pages), ratioof text to illustrated pages (e.g., 1:2), content location (e.g.,Central Park) and user location matching, retail price/sale price (e.g.,$10), number of charge events (e.g., 10), and the like. If a user readsan equivalent of 100 pages (e.g., 75 text pages and 50 image pages),which is 10% of the e-book, the user is charged $1. If 25 image pageswere that of Central Park and the user viewed the pages in the CentralPark, the charging model may apply a discount, such that the user wouldhave read an equivalent of 87.5 pages (e.g., 75 text pages and 25 imagepages), which is less than the 10% of the book, so that user would notbe charged anything.

Referring to method 500, at block 540, if any promotional offers arereceived from the content provider, the promotional offers may beassociated with the e-book and/or e-book consumption attributes at block545. For example, a promotional offer can stipulate that if a userconsumes an e-book in less than 24 hours, a 25% discount may be providedby statement credit, a gift card, and the like. The process concludes atblock 550.

Once e-books are stored in the content server, the e-books are madeavailable for download via the personal download center, and in someinstances, via other online websites. In one implementation, a user canvisit the personal download center to browse through the e-book catalog,search and/or select a specific e-book or e-books for download. Inanother implementation, the personal download center can be customizedfor the user such that the user can view e-books that are selected forthe user based on the user's profile. FIG. 6 is a logic flow diagramillustrating an exemplary method of downloading an e-book from apersonal download center in one embodiment of the ICPM system.

At block 605, a user visits a personal download center, using the clientapplication, or via the web. At block 640, the personal download centerqueries the host server for recommendations. In one implementation, thepersonal download center may provide information such as user ID,browsing activity, and the like, to the host server along with therequest for recommendation. The host server, at block 645 generatesrecommendations using, for example, the recommendation engine 320. Thehost server provides the recommendations to the content server and/orthe personal download center at block 650. The personal download centerobtains information on the recommendations (e.g., e-book names, thumbnail images, blurbs, reviews, etc.) from the content server at block655. Alternately, the content server may send additional information onthe recommendations to the personal download center. At block 660, thepersonal download center displays the recommendations and the associateddetails to the user. At block 665, the user requests to download one ormore e-books from the recommendations, or from the catalog.

The personal download center queries the content server for therequested e-book at block 615. At block 620, the content serverdetermines whether the requested e-book is associated with a chargingmodel. If the e-book is associated with a charging model, the contentserver retrieves the associated charging model parameters necessary fordetermining the charge at block 625. If there is no associated chargingmodel for the e-book, a default charging model may be retrieved andassociated with the e-book for that particular download. Alternately, insome implementations, the host server may determine and/or updatecharging models specific to the user for association with therecommendations for that particular session with the personal downloadcenter. At block 635, the content server or the personalized downloadcenter provides the selected e-book or e-books to the client device forconsumption and monitoring, without charging the user the sale or retailprice of the e-book or e-books.

After downloading one or more e-books on his or her client device, auser can select an e-book and start reading. Once downloaded, the usercan disconnect the client device from the network (e.g., Wi-Fi,cellular, etc.), and still be able to read previously paid for e-bookportions as well as any previously unread e-book portions, as long asthe user has enough balance in his or her account or has pre-authorizedrefill or direct charging to a payment card or bank account, forexample. FIG. 7 is a logic flow diagram illustrating an exemplary methodof monitoring e-book consumption in one embodiment of the ICPM system.

The process starts at block 702. A user opens an e-book at block 704using his or her client application on a client device. At block 706, ane-book segment that is in view on the display area of the client deviceis identified. For example, the chapter, paragraph, lines, word count,words, electronic page number, etc., can be used to identify thespecific content segment being viewed or read. At decision block 708,the client application determines whether the e-book segment is alreadypaid for or owned by the user. If the e-book segment is not paid for, ornot previously read, the client application, at decision block 710,determines whether the account balance associated with the e-book isbelow or equal to a threshold. The threshold, in one implementation, canestablish a minimum amount of funds in the user account that is requiredfor the user to continue to read. If the user account balance is abovethe threshold, the process moves to decision block 718. In someimplementations, if the user has preauthorized refill of the useraccount with a predefined amount of funds from a bank or payment cardaccount, or if the user account is directly linked to a bank account ora payment card account, and the ICPM system is authorized to makecharges as necessary, the result of the decision block 710 can beoverridden and the process moves to decision block 718. Alternately, ifno such authorization is available, and the account balance is below athreshold as determined at decision block 710, the client applicationblocks the e-book segment from user access at block 712. In oneimplementation, the e-book segment may be blocked by changing the colorof the font or the background, or by placing water marks, so that thee-book segment is not legible. In some implementations, instead ofabruptly blocking an e-book segment of the account balance for beingbelow a threshold, the client application may gradually reduce theintensity of the display, weaken the color of the font, or changedisplay settings for the content viewer until the content is completelyillegible. The gradual reduction in the legibility of the e-book contentcan serve as an ongoing alert to the users to increase the balance onhis or her account. At block 714, the user associated with the useraccount that has a zero balance or a balance below a threshold isnotified to top up the balance to continue reading.

At decision block 718, a determination regarding the type of e-booksegment may be made at block 718. In one implementation, if the e-booksegment is an image, a qualify-as-read parameter corresponding to animage can be retrieved at block 720. If the e-book segment is a complextext, a qualify-as-read parameter for a complex text is retrieved atblock 722. At block 724, a qualify-as-read parameter for normal text isobtained if the type of e-book segment is a normal text. Determinationof whether an e-book segment is complex, normal or image, for example,may be made based on semantic analysis of the text, recognition of theimage, and the like, in one implementation. The qualify-as-readparameter, in one implementation, may be specific to the type of e-booksegment such as image, complex text, normal text, and the like. In afurther implementation, the qualify-as-read parameter may also bespecific to the user. For example, if a user, on average, spends 10seconds looking at an e-book segment of image type, the qualify-as-readparameter for the user can be set to 10 seconds. If the user, based onanalysis of reading behavior, is a fast reader, and on average, spends 8seconds looking at an e-book segment of image type, the qualify-as-readparameter is adjusted to be 8 seconds instead of 10 seconds for thatspecific user. Thus, if the user reads a segment for at least 8 seconds,the segment is counted for charging.

At decision block 726, if the e-book segment was viewed longer than orequal to the qualify-as-read parameter specific to the type of e-booksegment, and/or the user, the e-book segment is marked as read,consumed, or the like at block 728. At block 730, the aggregate amountof e-book segments marked as read, that have not been charged, isdetermined. For example, if previously 4 e-book segments were marked asread but uncharged, the number of e-book segments is increased by 1 suchthat the aggregate number of read e-book segments to be reported forcharging is 5. At decision block 732, a determination may be made as towhether the aggregate number of e-book segments is at least equal to athreshold. If true, the client application generates a charge eventtrigger at block 734. For example, when the aggregate e-book segmentsread is at least a threshold of 5, the charge event trigger can begenerated. If the user turns the page or views another e-book segment asdetermined at decision block 736, the new e-book segment is identifiedas before at block 706. Alternately, if the user decides to close thee-book or the app, the process ends at block 716.

In an alternate embodiment, blocks 728-732 may be optional. In otherwords, a charge event trigger may be created after each segment isconsidered or marked as read.

The charge event that is triggered when a certain amount of e-bookssegments have been consumed is used to update the account balance,either in the host server or locally in the client application. FIG. 8is a logic flow diagram illustrating an exemplary method of charging fore-book consumption in one embodiment of the ICPM system. The processstarts at block 805. At decision block 810, if the charge event istriggered, the charge to be applied is determined. For example, in oneimplementation, based on the aggregate e-book segments reads and theassociated charge model, the charge corresponding to the charge event isdetermined. Alternately, the charge corresponding to the charge eventmay be predetermined. For example, if charge event is to be triggeredwhen 10% of the e-book is read, the charge to be applied may be equal to10% of the e-book's retail/sale price. In some implementations,adjustments to the charge amount based on promotions, offers, and thelike may be made. At block 820, the account balance is decremented by anamount corresponding to the determined charge. The account balance maybe synced with the host server whenever the client device is online.

At decision block 825, if the client device is online, a charge requestmay be sent to the host server at block 830. In one implementation, thecharge request may include an amount of the charge, the e-book segmentscorresponding to the charge, user identifying information such as userID, e-book identifier, and the like. An acknowledgement or confirmationincluding the new account balance information may be returned to theclient application from the host server in one embodiment. Alternately,if the client device is not online, the charge request remains pendingfor transmission to the host server when the client device goes online.In some implementations, the user may be required to periodicallyconnect the client device to the Internet via Wi-Fi, mobile or otherconnections so that accounting and other information can be synced withthe host server and/or the content server.

At block 835, the e-book segment is marked as paid for or user ownedsince the account balance at the client side is updated. At decisionblock 840, if the account balance, after the updating, is below athreshold or equal to zero, a notification is generated for the userregarding the low or no account balance at block 845. Alternately, ifthe account balance is above a threshold or above zero, the process endsat block 850.

In an another embodiment of the ICPM system, a user can open an e-bookfor reading by selecting the e-book link or cover displayed by thecontent viewer on the client application, or in the personal downloadcenter. The content file corresponding to the selected e-book may belocated and displayed by the content viewer on the screen of the clientdevice. The viewer launches the first page or the page the user left offin the previous reading session. The user can instruct the clientapplication to go to the next page, a certain point in the e-book, tableof contents, a previously created bookmark, last page read, and thelike. The client application interprets the user requests and determinesthe portion of the e-book that should be exposed on the display area,instructs the viewer to expose the same. The client applicationcontinually registers or recognizes the segment of e-book contentexposed, and the length of time that the e-book content segment remainsexposed. The client application may also monitor all activities by theuser while the e-book content segment is exposed. For example, theclient application can log activities such as creation of a bookmark,highlighting of text, sending or sharing portions of text or remarks toexternal sites, and the like. The client application can also access allavailable location data through the GPS on the client device or otherlocation based services to determine the location of the user whenreading the e-book segment. The client application uses the chargingmodel downloaded with the e-book, along with additional information suchas the e-book, the user, his or her reading history, the time, thelocation, and the like to determine the correct charge amount and chargemechanism for the specific e-book, user, time and place. The clientapplication can use the associated charging model to determine if, whenand what charges, if any, should be associated with an e-book segmentdisplayed on the client device. For example, the charging model cancharge for each percentage of the book read, a percentage of the price.The client application adds the total e-book segments exposed to theuser and when the total segments exposed equals or is greater than apercentage of the e-book, a charge request can be sent to the hostserver to update the account balance on the server side, or the accountbalance can be decremented by an amount equal to the percentage of theprice on the client side.

Exposure of content on the screen by the client application may notautomatically lead to charging. The client application constantlymonitors the e-book segments exposed by the viewer and aggregates thesegments, so that at any given point in time, the client application isaware of the which specific e-book segments (e.g., line 1-200, page1-30, 12% to 14% word count, etc.) that user has already read.

In some implementations, when the account balance is below a certainthreshold, the client application can initiate certain events, such asgenerate an alert to the user, gradually fade the font color or changethe background color, or add a water mark to slowly make the e-bookcontent illegible, initiate automatic top-up of the balance, ask theuser to increase his balance, stop the e-book content segment from beingexposed to the user, and the like.

In one implementation, after a certain number of actions by the user orafter a certain time interval passes, the client application caninitiate or establish a connection to the host server to send all orsome of the data gathered or generated by the client application to thehost server. In one implementation, the host server can redo some of thecalculations performed by the client application and/or performadditional calculations to determine the charges, update accountbalances, update user profiles, and the like.

Some embodiments of the ICPM system support e-book gifting. Using thee-book gifting mechanism, a gift is actually purchased if and only if itbrings value to the receiver, and to the extent it brings value to thereceiver. For example, a gift giver gives one or more e-books as a giftto a receiver. The receiver receives the e-book, and stores it. There isno exchange of money until the receiver starts consuming the e-bookreceived as a gift. When a charge event occurs as a result of thereceiver consuming a certain amount of e-book segments, the user accountof the gift giver is charged an amount corresponding to the amount ofe-books segments consumed by the gift receiver. To the gift receiver,there is no charge for reading the book, and no awareness that anincremental charge is created on the gift giver's user account as thereading progresses. If no reading occurs, no charge is created on thegift giver's user account.

Gift giving using the ICPM system can be configured in many ways. Forexample, a user can give a gift of ‘reading pages’ without specifying aparticular e-book or e-books. The receiver can then read any e-book ore-books he or she desires while the charge appears on the giver'saccount, until a certain limitation (e.g., 1000 pages, 30 days, etc.)has been reached, for example. In some implementation, a group of peoplecan give a gift to one person, and the charge will be divided betweenthe accounts of the group of people. In other implementations, a personor a group can give a gift to a group (e.g., 4th graders in Waco, Tex.),and the accumulated charges created by the receivers will be dividedbetween all the givers. In some implementations, a gift may cover aportion of the reading charges (e.g. 50% off the next 1000 pages read),and the like. FIG. 9 is a logic flow diagram illustrating an exemplarymethod of gifting an e-book in one embodiment of the ICPM system.

The process starts at block 905. At block 910, a request from a giftgiver to send an e-book as a gift to a recipient is received. Therequest may be initiated from the client application, for example, andmay be received and processed by the host server, for example. In oneimplementation, the request may include an e-book identifier, recipientidentifying information such as name and/or email address, requestinguser or gift giver identifier, and the like. At decision block 915, thehost server may determine if the gift recipient is a registered user ofthe ICPM system. A registered user has a user account with the ICPMsystem, and may have a client application installed on his or her clientdevice. If the recipient is not a registered user, at block 920, thehost server generates and sends a notification of an e-book gift to therecipient using the requesting user provided recipient information(e.g., an email). At decision block 925, the host server can detectwhether the gift recipient has claimed the gift. The gift may be claimedor redeemed using an identifier provided in the notification to therecipient. Alternately, if the recipient uses the same email address orother identifying information as on record to open a user account, thehost server can determine that the recipient is now a registered user.

When a non-registered recipient claims or redeems the gift by opening auser account, or when the recipient is a registered user, at block 935,the gift recipient's client device is identified. At block 940, thee-book gift is pushed to the recipient's client device. Alternately, thee-book gift may be displayed on the recipient's personalized store, andthe recipient may be requested or alerted to claim or redeem the gift atno charge.

After the e-book gift is downloaded to the recipient's client device,the host server may receive a charge request or a charge event triggerfrom the gift recipient's client device. If such a charge request orevent trigger is detected at decision block 945, the host server mayparse and examine the charge request to determine the amount of thecharge, e-book segments read, user account associated with the charge,and the like at block 955. At block 960, the host server identifies thegift giver's account that is to be charged. At block 965, the hostserver charges the amount corresponding to the e-book segments read tothe gift giver's user account. At decision block 970, the host servermay check if the total amount charged to the gift giver has reached thetotal value of the e-book. If true, the host server can send anotification to the gift giver that the e-book gift transaction iscompleted, concluding the process at block 980. Alternately, the hostserver may wait for the next charge request for further processing.

Referring back to decision block 925, if the gift recipient does notredeem the e-book gift, the host server may send a reminderperiodically. Similarly, if the recipient does not consume or read thee-book, a reminder regarding the e-book gift may be sent periodically.

Embodiments of the ICPM system aggregate consumption related activityand event data and analyze the aggregated data to build and update userprofiles, generate and/or update charging models and associatedparameters, identify marketing and sales opportunities for contentproviders, and the like. For example, the logic flow diagram of FIG. 10illustrates an example method of updating charging parameters in oneembodiment of the ICPM system.

The process starts at block 1005. At block 1010, the host serveraggregates e-book consumption data from the users of the ICPM system. Atblock 1015, the e-book consumption data can be processed. Exampleprocessing may include formatting or normalizing the data in preparationfor storage. In one implementation, for example, some e-book consumptiondata needs to be normalized because the definition of a segment variesbased on the formatting options selected and the display area. At block1020, the e-book consumption data can be stored to build a historicaldatabase of e-book consumption data. At block 1025, the historicale-book consumption data can be used to update conversion parameters. Forexample, the historical database of e-book consumption data can bequeried to select data relating to length of time spent on reading apage collected during a selected time period. An average or median ofthe selected data can be calculated to determine the qualify-as-readparameter for reading a page by the user. At block 1030, the generatedparameter can be stored in association with the user's profile, and canbe used in determining the charge for reading an e-book segment. Theprocess ends at block 1035.

Aggregated e-book consumption data may be used to generate e-bookrecommendations. FIG. 11 is a logic flow diagram illustrating anexemplary method of generating recommendations in one embodiment of theICPM system.

The process starts at block 1105. At block 1110, a list of e-booksconsumed by a user may be selected. For example, a query may be createdand executed on the analytics database 370 to select the list of e-booksconsumed by a user during the last three months. At block 1120, one ormore criteria for ranking the identified e-books may be selected.Example criteria can include: percent completion, reading location,e-books shared, e-books gifted, time of e-book consumption, rate ofe-book consumption, bookmarks, highlights, and the like. At block 1125,the weights for each of the selected criteria may be obtained. Forexample, percentage completion criteria may be assigned a higher weightof 40%, reading location may be assigned 5%, e-books shared may beassigned 10%, e-books gifted 10%, time of e-book consumption 5% and rateof e-book consumption 30%.

At block 1130, a score for each e-book in the list may be calculatedbased on the selected criteria and criteria weight. For example, fore-book A:

Percent completion (weight of 50%)=40%

Reading location (weight 10%)=1 (matches current location)

E-book sharing (weight 10%)=1 (was shared at least once)

E-book gifted (weight 15%)=0 (was not gifted)

Time of consumption (weight 5%)=1 (matches the consumption time)

Rate of consumption (weight 10%)=2 (e.g., twice the average time takenby a group of users to read the e-book)

E-book A's score=Σweight×value of eachcriteria=(0.5×0.4)+(0.1×1)+(0.1×1)+(0.15×0)+(0.05×1)+(0.1×2)=0.2+0.1+0.1+0+0.05+0.2=0.65

At block 1135, the e-books in the list are ranked based on the e-bookscore. At block 1140, the top x number of e-books in the list areselected, and other e-books similar to the selected x number of e-booksare identified. The similar e-books may be identified based on matchingof metadata and/or other attributes. At block 1145, the identifiede-books are provided as recommendations to the user. Periodically, anupdate trigger may be generated to update the recommendation. The updatetrigger may be an activity relating to the e-book, such as an e-bookdownload, sharing, gifting, adding to shelf, and the like. At decisionblock 1150, if such a trigger is received, the process moves back toblock 1110. If no trigger is received, the process ends at block 1155.

Example User Interfaces

The user interface module 260 of the client application generates and/orrenders various user interfaces of the client application. FIGS. 12A-Bare exemplary user interface diagrams illustrating e-book shelvesdisplayed on a client device. User interface 1200 of FIG. 12Aillustrates a series of e-book shelves 1205-1225 that are downloaded orcreated by a user of the client device. The user interface 1200 caninclude options to create a shelf, give the shelf a name, and fill theshelf with e-books. Some shelves reflect the user's reading activity andmay be system generated. Some shelves may be user generated. Forexample, the currently reading 1205, the recently added 1255, recentlyread shelves, and the like represent the user's activity and may be acreated by the client application, the user or a combination of both.Some shelves may be filled with e-books identified by the system. Forexample, the recommended shelf 1210 can be filled with e-booksidentified by the recommendation engine 320. Some shelves (e.g., 1210,1220, 1225) are locked and their content are final and unchangeable,while other shelves (e.g., 1205, 1215) can be modified by adding ordeleting e-books, for example. Anyone having a user account may createhis or her own shelf (e.g., ‘John's best sci-fi books’).

Some or all shelves can be shared with one or more users, posted on asocial network site, advertised on a website, shown as part of apersonal or corporate profile, and the like. The user interface 1200 mayinclude options including search options for searching for shelvesavailable on the ICPM system, browsing, downloading, sharing, printing,emailing, advertising, promoting, and the like, with or without beingaware of the e-books the shelves may include.

Referring to user interface 1230 in FIG. 12B, three e-book shelves 1235,1240 and 1245 are depicted. For each shelf, the creator of the shelf canadd a brief description 1255. Once a shelf is downloaded, a user canselect an e-book from the shelf to read a brief description of thee-book, as shown in the overlay 1250, and start reading the e-book byselecting the read option.

Referring to FIG. 13, example user interface 1300 depicts shelfmanagement in shelf mode. The shelf mode provides the user an option tore-arrange any of the shelves. In the shelf mode, only the shelves maybe visible with the e-books in the shelf remain hidden. The user canperform various management functions in the shelf mode. For example, theuser can tap, touch, select, click, hover, etc., a shelf 1305 to selectthe shelf. The user can also select the shelf name area 1320 to edit thename of the shelf and over the description area 1325 to edit thedescription. The user can also select icon 1310 to delete the shelf. Inone implementation, deleting the shelf may not delete the e-booksincluded in the shelf. In an alternate implementation, deleting theshelf may delete the e-books in the shelf that have not been used by theuser. In one implementation, the shelf may be deleted from the user'sclient application, but a copy may be saved in the server. The user mayhave to perform an additional delete (e.g., permanently delete) orconfirm deletion to remove the backup from the server. The user can alsoselect and drag a shelf to a desired location to change the order inwhich the shelves are displayed on the client application. In oneimplementation, the user interface may include an option to change theorder of the e-books in the shelf by dragging each e-book icon or thumbnail, for example. The share button 1315 allows the user to share thee-book shelf using one or more channels including Facebook, Twitter,blogs, email, print, and the like. One or more of the features describedherein may be accessed outside of the shelf management mode, in someimplementations.

Referring to FIG. 14, user interface 1400 depicts a time line of useractivity. User activities and reading history is diagrammed on a readingtimeline 1415 to allow the user to get an immediate overview of thee-books consumed by the user over time. For example, the timeline 1415depicts six e-books read by the user between January 2010 (1405) andJanuary 2011 (1410) in the sequence in which the e-books were consumed.The user interface 1400 may also include a summary or overview ofactivities by number next to each e-book. For example, associated withe-book 1420 are numbers 376, 3, 9 and a symbol. The 376 may refer to thenumber of pages of the e-book read by the user, 3 is the number ofbookmarks created by the user, 9 is the number of comments associatedwith the e-book, and the symbol is indicative of the e-book having beenfavorited by the user (i.e., marked as a favorite). Additionalinformation such as number of shares, percent completion, location ofreading, and the like or less information may also be displayed on thetimeline diagram 1400.

Referring to FIG. 15, user interface 1500 depicts account managementoptions. In one implementation, user interface 1500 displays balance1505 in the account, and an option 1510 to add more funds to theaccount. User interface 1500 may also display some or all of the e-booksthat have been at least partially purchased. For example, table 1515displays a list of e-book titles, author information, date the userstarted reading the e-book, total amount of charge associated with thee-book, and the like. More or less information can also be displayed onthe table 1515. In some implementations of the user interface 1500, asnapshot 1520 of the user's reading activity may be displayed. Thesnapshot 1520 may include information such as the number of pages readto date, number of pages read in a single sitting or a session, numberof books finished, the farthest book read, quotes highlighted, and thelike. In one implementation, a map 1525 may also be displayed on theuser interface 1500. The user interface aggregates location dataassociated with reading sessions and maps the location data, such thatthe user can see in the map the locations where (and in some cases when)each e-book was read.

Referring to FIG. 16, user interface 1600 depicts an implementation of apersonal download center. User interface 1600 displays e-books andshelves (e.g., 1610). The user interface also includes a search bar 1605for searching e-books or shelves, and a button option 1615 to download ashelf of e-books. The user interface 1600 also includes options forbrowsing, accessing featured, popular or new e-books or shelves, and thelike.

Referring to FIG. 17, user interface 1700 depicts an example e-bookviewer. The e-book viewer displays e-book content in the display area.The e-book viewer includes tab 1705 that includes options for changingthe font size, name, background color, creating bookmarks, jumping tothe table of contents, jumping to a bookmarked page and the like. Thee-book viewer may also display an indicator tab that continually tracksand displays, using a progress bar (e.g., 1720) and/or in text (e.g.,1725), the aggregate percentage of e-book read, regardless of thesequence.

Referring to FIG. 18, user interface 1800 depicts an example analyticsdashboard. A content provider can access the analytics dashboard via acontent provider client application or via the web to generate and/orview consumption data relating to e-books and users. For example, underthe general tab 1820, the content provider may select a time period1802, and an e-book 1805 to view aggregated data relating to the e-bookover the defined time period. Example data relating to the e-book thatcan be displayed include, active readers of the e-book, total pages readby the e-book, revenue amount (e.g., in area 1810). The user interfacemay also display a bar chart 1815 showing the number of users who havedownloaded the e-book, who have started the e-book and who havecompleted the e-book during each month over the selected time period.The content provider can also edit the description of the e-book, changethe retail price of the e-book, modify any parameters that affect thecharging model of the e-book, and the like directly from the userinterface 1800.

Under the reader tab 1825, data relating to the readership of theselected e-book may be displayed. For example, graphical charts relatingto the distribution of users based on gender, age, time of reading (dayreader versus night readers), day of reading (e.g., weekday readersversus weekend readers), and the like may be displayed.

Under the activity tab 1830, data relating to the user activities may bedisplayed. For example, chart 1835 displays the total activity mark ofthe selected e-book compared to that of the average activity mark forthe non-fiction genre. In one implementation, the activity mark may be aweighted score of one or more activities such as download, read, share,gift, Tweet or Facebook, quote, and the like associated with an e-book.Chart 1840 displays the number of times the e-book was sent each monthduring the selected time period. Chart 1845 displays the number of timesthe e-book was gifted each month during the selected time period. Chart1850 displays the number of time the e-book was tweeted or shared viaFacebook or other social network sites each month during the selectedtime period. Similarly, the quotes chart 1855 displays the number oftimes quotes from the e-book was selected per month the during theselected time period. The quotes shared chart 1860 displays the numberof times quotes from the e-book was shared per month the during theselected time period. More or less activity data may be charted anddisplayed to the content provider.

Referring to FIG. 19, an example chart 1900 is depicted. The chart plotsthe number of pages read against percentage of readers, and shows thecompletion pattern of an e-book at a given time. Based on the graphicaldata, it can be determined that at least 41% of the readers have read atleast 210 pages of the e-book. Referring to FIG. 20, an examplerelational map 2000 is depicted. The relational map 2000 maps therelationship between readers and e-books read by the readers. In therelational map 2000, e-book 2005 was read by two readers 2015 and 2010.Reader 2010, who read e-book 2005, also read e-books 2020 and 2025, andso on. Furthermore, in some implementations, the size and color of thecircles representing e-books may be varied to reflect additionalattributes such as the number of readers, genre and the like. Forexample, the size of the circle 2005 is smaller than the size of thecircle 2025 to reflect that e-book 2025 has more readers than e-book2005.

Example Computer Systemization

Aspects and implementations of the ICPM system have been described inthe general context of computer-executable instructions, such asroutines, modules, engines or components executed by a general-purposecomputer, a personal computer, a server, and/or other computing systems.A representation of a machine in the example form of a computer systemsuch as the host server 125, the content server 110, personal downloadcenter 105 and the client device 145 is illustrated in FIG. 21. Themachine 2100 may be in communication with entities including one or moreusers (e.g., ICPM users 140, affiliate users 155, content providers 115)or other devices 2140. The other devices can be client devices when themachine 2100 is the host server 125 or the host server 125, the contentserver 110 or the personal download center 105 when the machine 2100 isthe client device 145. The machine 2100 may also be in communicationwith user input devices 2102, peripheral devices 2104, an optionalco-processor device(s) (e.g., cryptographic processor devices) 2106, andnetworks 165. Users 140 may engage with the host server 125 via clientdevices 145 over networks 165.

Computers employ central processing unit (CPU) or processor (hereinafter“processor”) to process information. Processors may include programmablegeneral-purpose or special-purpose microprocessors, programmablecontrollers, application-specific integrated circuits (ASICs),programmable logic devices (PLDs), embedded components, combination ofsuch devices and the like. Processors execute program components such asin response to user and/or system-generated requests. One or more ofthese components may be implemented in software, hardware or bothhardware and software. Processors pass instructions (e.g., operationaland data instructions) to enable various operations.

The machine 2100 may include clock 2120, CPU 2122, memory such as readonly memory (ROM) 2128 and random access memory (RAM) 2126 andco-processor 2124 among others. These controller components may beconnected to a system bus 2118, and through the system bus 2118 to aninterface bus 2108. Further, user input devices 2102, peripheral devices2104, co-processor devices 2106, and the like, may be connected throughthe interface bus 2108 to the system bus 2118. The Interface bus 2108may be connected to a number of interface adapters such as processorinterface 2110, input output interfaces (I/O) 2112, network interfaces2114, storage interfaces 2116, and the like.

Processor interface 1010 may facilitate communication betweenco-processor devices 2106 and co-processor 2124. In one implementation,processor interface 2110 may expedite encryption and decryption ofrequests or data. Input Output interfaces (I/O) 2112 facilitatecommunication between user input devices 2102, peripheral devices 2104,co-processor devices 2106, and/or the like and components of the machine2100 using protocols such as those for handling audio, data, videointerface, wireless transceivers, or the like (e.g., Bluetooth, IEEE1394a-b, serial, universal serial bus (USB), Digital Visual Interface(DVI), 802.11a/b/g/n/x, cellular, etc.). Network interfaces 2114 may bein communication with the network. Through the network, the machine 2100may be accessible to remote client devices 145 or server computers.Network interfaces 2114 may use various wired and wireless connectionprotocols such as, direct connect, Ethernet, wireless connection such asIEEE 802.11a-x, and the like. Examples of network 165 include theInternet, Local Area Network (LAN), Metropolitan Area Network (MAN), aWide Area Network (WAN), wireless network (e.g., using WirelessApplication Protocol WAP), a secured custom connection, and the like.The network interfaces 2114 can include a firewall which can, in someembodiments, govern and/or manage permission to access/proxy data in acomputer network, and track varying levels of trust between differentmachines and/or applications. The firewall can be any number of moduleshaving any combination of hardware and/or software components able toenforce a predetermined set of access rights between a particular set ofmachines and applications, machines and machines, and/or applicationsand applications, for example, to regulate the flow of traffic andresource sharing between these varying entities. The firewall mayadditionally manage and/or have access to an access control list whichdetails permissions including for example, the access and operationrights of an object by an individual, a machine, and/or an application,and the circumstances under which the permission rights stand. Othernetwork security functions performed or included in the functions of thefirewall, can be, for example, but are not limited to,intrusion-prevention, intrusion detection, next-generation firewall,personal firewall, etc., without deviating from the novel art of thisdisclosure.

Storage interfaces 2116 may be in communication with a number of storagedevices such as, storage devices 2132, removable disc devices, and thelike. The storage interfaces 2116 may use various connection protocolssuch as Serial Advanced Technology Attachment (SATA), IEEE 1394,Ethernet, Universal Serial Bus (USB), and the like.

User input devices 2102 and peripheral devices 2104 may be connected toI/O interface 2112 and potentially other interfaces, buses and/orcomponents. User input devices 2102 may include card readers, fingerprint readers, joysticks, keyboards, microphones, mouse, remotecontrols, retina readers, touch screens, sensors, and/or the like.Peripheral devices 2104 may include antenna, audio devices (e.g.,microphone, speakers, etc.), cameras, external processors, communicationdevices, radio frequency identifiers (RFIDs), scanners, printers,storage devices, transceivers, and/or the like. Co-processor devices2106 may be connected to the machine 2100 through interface bus 2108,and may include microcontrollers, processors, interfaces or otherdevices.

Computer executable instructions and data may be stored in memory (e.g.,registers, cache memory, random access memory, flash, etc.) which isaccessible by processors. These stored instruction codes (e.g.,programs) may engage the processor components, motherboard and/or othersystem components to perform desired operations. The machine 2100 mayemploy various forms of memory including on-chip CPU memory (e.g.,registers), RAM 2126, ROM 2128, and storage devices 2132. Storagedevices 2132 may employ any number of tangible, non-transitory storagedevices or systems such as fixed or removable magnetic disk drive, anoptical drive, solid state memory devices and other processor-readablestorage media. Computer-executable instructions stored in the memory mayinclude the ICPM system 200 or the ICPM system 300 having one or moreprogram modules such as routines, programs, objects, components, datastructures, and so on that perform particular tasks or implementparticular abstract data types. For example, the memory may containoperating system (OS) component 2134, program modules and othercomponents (e.g., components 205-270 of ICPM system 200, components305-348 of ICPM system 300), database tables (e.g., 360-382 of ICPMsystem 300) and the like. These modules/components may be stored andaccessed from the storage devices, including from external storagedevices accessible through an interface bus.

The database components are stored programs executed by the processor toprocess the stored data. The database components may be implemented inthe form of a database that is relational, scalable and secure. Examplesof such database include DB2, MySQL, Oracle, Sybase, and the like.Alternatively, the database may be implemented using various standarddata-structures, such as an array, hash, list, struct, structured textfile (e.g., XML), table, and/or the like. Such data-structures may bestored in memory and/or in structured files.

The machine 2100 may be implemented in distributed computingenvironments, where tasks or modules are performed by remote processingdevices, which are linked through a communications network, such as aLocal Area Network (“LAN”), Wide Area Network (“WAN”), the Internet, andthe like. In a distributed computing environment, program modules orsubroutines may be located in both local and remote memory storagedevices. Distributed computing may be employed to load balance and/oraggregate resources for processing. Alternatively, aspects of themachine 2100 may be distributed electronically over the Internet or overother networks (including wireless networks). Those skilled in therelevant art will recognize that portions of the machine 2100 may resideon a server computer, while corresponding portions reside on a clientcomputer. Data structures and transmission of data particular to aspectsof the machine 2100 are also encompassed within the scope of theinvention.

Conclusion

The above Detailed Description of embodiments of the invention is notintended to be exhaustive or to limit the invention to the precise formdisclosed above. While specific examples for the invention are describedabove for illustrative purposes, various equivalent modifications arepossible within the scope of the invention, as those skilled in therelevant art will recognize. For example, while processes or blocks arepresented in a given order, alternative implementations may performroutines having steps, or employ systems having blocks, in a differentorder, and some processes or blocks may be deleted, moved, added,subdivided, combined, and/or modified to provide alternativecombinations or subcombinations. Each of these processes or blocks maybe implemented in a variety of different ways. Also, while processes orblocks are at times shown as being performed in series, these processesor blocks may instead be performed or implemented in parallel, or may beperformed at different times.

In general, the terms used in the following claims should not beconstrued to limit the invention to the specific examples disclosed inthe specification, unless the above Detailed Description sectionexplicitly defines such terms. Accordingly, the actual scope of theinvention encompasses not only the disclosed examples, but also allequivalent ways of practicing or implementing the invention under theclaims.

From the foregoing, it will be appreciated that specific embodiments ofthe invention have been described herein for purposes of illustration,but that various modifications may be made without deviating from thespirit and scope of the invention. Accordingly, the invention is notlimited except as by the appended claims.

I claim:
 1. A processor-implemented method, comprising: monitoring, on aclient device, user interaction with one or more electronic booksegments of an electronic book; determining, by a processor, whether theuser interaction with the one or more electronic book segments is achargeable interaction; and creating a charge against a user account forthe chargeable interaction with the one or more electronic booksegments.
 2. The method of claim 1, wherein the charge against the useraccount is created when the one or more electronic book segmentsassociated with a chargeable interaction is at least a predeterminedportion of the electronic book.
 3. The method of claim 1, wherein theelectronic book is divisible into a plurality of electronic booksegments, each segment having an amount of content that is determined bythe client device and a user of the client device.
 4. The method ofclaim 1, wherein the user interaction is determined to be a chargeableinteraction based on a length of user interaction with each of the oneor more electronic book segments.
 5. The method of claim 4, wherein thelength of the user interaction is a parameter derived from historicaluser interaction data.
 6. The method of claim 1, wherein each of the oneor more electronic book segments corresponds to a portion of theelectronic book that is on display on the client device.
 7. The methodof claim 1, wherein the one or more electronic book segments is a partof a chapter of the electronic book, and wherein the charge against theuser account is created when the user interaction with the chapter iscompleted.
 8. The method of claim 1, wherein a user associated with theuser interaction and the client device is different from a userassociated with the user account against which the charge is created. 9.The method of claim 1, wherein a user associated with the userinteraction is also associated with the user account against which thecharge is created.
 10. The method of claim 1, wherein no charge againstthe user account is created for the user interaction with one or moreelectronic book segments that is not a chargeable interaction.
 11. Themethod of claim 1, wherein creating a charge against the user accountfor the chargeable interaction with the one or more electronic booksegments includes: calculating an amount corresponding to the chargebased on a charge model associated with the electronic book and the oneor more electronic book segments; and decrementing a balance on the useraccount by the calculated amount.
 12. The method of claim 11, furthercomprising: determining whether the chargeable interaction qualifies fora discount; if so, determining a discount amount; and adjusting thecalculated amount based on the discount amount prior to decrementing thebalance on the user account.
 13. The method of claim 12, wherein thechargeable interaction qualifies for a discount when a geographicallocation of the chargeable interaction matches a predeterminedgeographical location.
 14. The method of claim 1, further comprising:determining whether a network connection is available between the clientdevice and a remote server; if so, sending a charge request to theremote server to charge the user account a purchase price associatedwith the one or more electronic book segments for which the userinteraction is a chargeable interaction.
 15. The method of claim 1,further comprising: designating the one or more electronic book segmentsas purchased segments when the user account is charged a purchase priceassociated with the one or more electronic book segments, wherein thepurchased electronic book segments are available for interaction with auser of the client device without incurring an additional charge. 16.The method of claim 1, further comprising: determining that the userinteraction with the one or more electronic book segments meets at leastone condition; and dynamically adjusting a purchase price associatedwith the one or more electronic book segments, wherein the chargecorresponds to the adjusted purchase price of the one or more electronicbook segments.
 17. The method of claim 16, wherein the at least onecondition specifies that the one or more electronic book segmentsinclude content from a predefined portion of the electronic book. 18.The method of claim 1, further comprising: downloading, from a remoteserver, the electronic book to the client device at no cost.
 19. Themethod of claim 1, wherein the electronic book is available for userinteraction regardless of whether the client device is online oroffline.
 20. The method of claim 1, wherein the one or more electronicbook segments are not sequentially arranged in the electronic book. 21.The method of claim 1, further comprising: sending a user request toshare an electronic book stored locally on the client device with one ormore users, wherein in response to the user request, the electronic bookis downloaded to client devices of the one or more users free of charge.22. The method of claim 1, further comprising: monitoring balance on theuser account to determine whether to allow or block user interactionwith the one or more electronic book segments.
 23. A system, comprising:a memory; a processor disposed in communication with the memory, andconfigured to process a plurality of instructions to: monitor userinteraction with one or more electronic book segments of an electronicbook; determine whether the user interaction with the one or moreelectronic book segments is a chargeable interaction; and create acharge against a user account for the chargeable interaction with theone or more electronic book segments.
 24. A processor-readablenon-transitory medium storing instructions to: monitor user interactionwith one or more electronic book segments of an electronic book;determine whether the user interaction with the one or more electronicbook segments is a chargeable interaction; and create a charge against auser account for the chargeable interaction with the one or moreelectronic book segments.
 25. A processor-implemented method,comprising: receiving a user request to download at least one electronicbook to a client device; determining, via a processor, whether the atleast one electronic book is associated with a charging model thatdefines charging parameters, wherein the charging parameters include atleast one micropayment amount to be charged to at least one user accountand an electronic book portion corresponding to the at least onemicropayment amount; and downloading the at least one electronic bookand the charging model parameters to the client device in response tothe user request.
 26. The method of claim 25, wherein the at least oneelectronic book is downloaded at no cost to a user of the client device.27. The method of claim 25, wherein the at least one electronic book isdownloaded at an upfront cost that is a fraction of the total cost ofthe electronic book, with the remaining amount of the total cost of theelectronic book being charged to the at least one user account based onmonitoring of the consumption of the at least one electronic book. 28.The method of claim 25, further comprising associating a promotionaloffer with one or more electronic book consumption attributes.
 29. Themethod of claim 28, wherein the one or more electronic book consumptionattributes is specific to the at least one electronic book.
 30. Themethod of claim 29, wherein the one or more electronic book consumptionattributes include geographical location of a user of the client device,time of electronic book consumption or length of an electronic bookconsumption session.
 31. The method of claim 25, wherein the chargingmodel defines charging parameters based on at least one of: a chargeevent, type of electronic book segment, size and type of electronicbook, location of content within an electronic book, time, price,previously consumed electronic books or geographical location of a userof a client device.
 32. The method of claim 25, further comprising:identifying one or more electronic books associated with a user;selecting based on at least one of reading related and non-readingrelated criteria for ranking the one or more electronic books; scoringeach of the one or more electronic books based on the selected criteria;and generating recommended electronic books based on the scoring. 33.The method of claim 25, further comprising associating a payment modelwith the at least one user account, wherein the payment model is one ofa subscription based payment model or a pay per electronic book segmentconsumption model.
 34. A processor-implemented method, comprising:downloading an electronic book for conditional purchase; dividing theelectronic book into a plurality of electronic book segments, whereinthe size of each electronic book segment is defined at the time ofconsumption; identifying each electronic book segment at the time ofconsumption; detecting consumption of one or more electronic booksegments from the plurality of electronic book segments; detecting acharge event associated with the electronic book; determining a chargeamount corresponding to the one or more electronic book segmentsconsumed in response to the charge event; and charging a user accountthe determined charge amount.
 35. The method of claim 34, furthercomprising transferring ownership of the one or more electronic booksegments to a user associated with the user account.
 36. The method ofclaim 34, further comprising: aggregating reading activity andnon-reading activity data relating to the electronic book fortransmission to a remote server.
 37. The method of claim 36, wherein thereading activity and non-reading activity data relating to theelectronic book is used to generate statistical indicators for theelectronic book.
 38. The method of claim 34, wherein the charge event isgenerated when the one or more electronic book segments consumed atleast equal a predefined size.
 39. The method of claim 34, wherein thepredefined size is one of: a number of pages of the electronic book, apercentage of the electronic book or a number of lines of the electronicbook.
 40. The method of claim 34, wherein the charge amountcorresponding to the one or more electronic book segments consumed isdetermined using a charge model defined for a user associated with theconsumption and the electronic book.